#include "stdio.h"

int global = 2;

void test()
{
    nice(global);
    // if (get_pid() != 6) return;
    while (1) {
        int i = 100000000;
        while (--i) {
            ;
        }
        // printf("i am %d", get_pid());
        printf("i am %d; nice: %d\n", get_pid(), nice(0));
    }
}

int main(int arg, char *argv[]) {
    int i = 0;
    int j = 0;
    // global++;

    // if (fork() == 0) {
    //     printf("i am child , pid = %d\n", get_pid());
    //     return 0;
    // }

    // char* test = (char*)malloc(8192);
    // free(test);
    // printf("malloc success\n");
    // test[0] = '1';
    // test[1] = '2';
    // test[2] = '3';
    // test[3] = 0;
    // printf("%s\n",test);
    // free(test);
    // printf("baichen\n");

    printf("i am father, pid = %d\n", get_pid());
    pthread(test);
    sleep(1);
	--global;
    pthread(test);
    sleep(1);
   --global;
    pthread(test);
    sleep(1);
    --global;
    pthread(test);
    sleep(1);
    --global;
    pthread(test);
    sleep(1);
    --global;

    // for (int i = 0; i < 8; ++i) 
    // {
    //     pthread(test);
    // }

    while (1) {
        ;
    }
    // if (fork() == 0) {
    //     while (1) printf("i'm %d\n", get_pid());
    // }
    // else {
    //     printf("i'm %d\n", get_pid());
    // }
    // while (1) ;

    return 0;
}